#!/bin/bash

# 打印logo和描述信息
logo=$(cat <<'EOF'
 _____           _                  _                       _  __ _
|  __ \         | |                | |                     (_)/ _(_)
| |__) | __ ___ | |_ ___   ___ ___ | |  ___ _ __   ___  ___ _| |_ _  ___
|  ___/ '__/ _ \| __/ _ \ / __/ _ \| | / __| '_ \ / _ \/ __| |  _| |/ __|
| |   | | | (_) | || (_) | (_| (_) | | \__ \ |_) |  __/ (__| | | | | (__
|_|   |_|  \___/ \__\___/ \___\___/|_| |___/ .__/ \___|\___|_|_| |_|\___|                                                  | |
                                           |_|
       _   _             _
      | | | |           | |                                                       __ _| |_| |_ __ _  ___| | __                                                   / _` | __| __/ _` |/ __| |/ /
| (_| | |_| || (_| | (__|   <
 \__,_|\__|\__\__,_|\___|_|\_\
EOF
)
echo -e "$logo"
echo -e "\033[1;32;40m[*]协议特定攻击是指针对特定协议的攻击，通常涉及网络通信协议。这些协议规定了数据如何在网络上传输，包括数据封装、传输过程中的控制信息等。\033[1;37;40m"

# 定义文件字典
declare -A files
files=(
      ["1"]="ddos_cn/Protocol_specific_attack/Minecraft_Protocol_Attacks.py"
      ["2"]="ddos_cn/Protocol_specific_attack/SSDP_attack.py"
)

# 使用whiptail创建菜单
while true; do
      choice=$(whiptail --title "协议特定攻击类型" --menu "协议特定攻击是指针对特定协议的攻击，通常涉及网络通信协议。这些协议规定了数据如何在网络上传输，包括数据封装、传输过程中的控制信息等。\n\n请选择攻击类型：" 35 78 20 \
      "1" "Minecraft协议攻击" \
      "2" "SSDP攻击" \
      "0" "返回" \
      3>&1 1>&2 2>&3)

      if [[ $? -eq 0 ]]; then
          if [[ "$choice" == "0" ]]; then
              echo "操作已取消。"
              break
          else
              python3 "${files[$choice]}"
              break
          fi
      else
          echo "操作已取消。"
          break
      fi
done
